package com.atguigu.gmall.pms.feign;

import com.atguigu.gmall.common.bean.PageParamVo;
import com.atguigu.gmall.common.bean.ResponseVo;
import com.atguigu.gmall.pms.feign.fallback.GmallSmsFallback;
import com.atguigu.gmall.sms.api.GmallSmsApi;
import feign.QueryMap;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;

// 网络请求： 协议：http    服务器地址：    服务端口号：
//@FeignClient(value = "sms-service",fallback = GmallSmsFallback.class) // http://192.168.1.1:18085
@FeignClient(value = "sms-service") // http://192.168.1.1:18085
public interface GmallSmsClient extends GmallSmsApi {

}
//    // feign解析feignclient时，没有加注解的参数 默认当做请求体参数使用
//    // http://192.168.1.1:18085/sms/test1?username=实参1&password=实参2
//    @GetMapping("/sms/test1") // 请求方式 + 资源路径
//    //返回值类型：表示网络请求成功获取的响应体转换的类型
//    public ResponseVo test1(@RequestParam("username") String username,
//                            @RequestParam("password")String password);//形参列表 表示请求参数列表
//
//    @GetMapping("/sms/test2/{id}")
//    public ResponseVo test2(@PathVariable("id") String id);
//
//
//    @PostMapping("/sms/test3")
//    public ResponseVo test3(@RequestBody PageParamVo paramVo);
//    //SpringQueryMap注解可以将对象的简单属性转为 请求参数提交，不支持级联属性
//    @GetMapping("/sms/test4") //pojo
//    public ResponseVo test4(@SpringQueryMap PageParamVo paramVo);
//
//    @PostMapping("/sms/skuladder/skuSales/save")
//    public ResponseVo saveSkuSales(@RequestBody SkuSaleVO skuSaleVO);
